home *** CD-ROM | disk | FTP | other *** search
/ ADA Programming Guide / ADA Programming Guide.iso / adasmall / insert.ada < prev    next >
Text File  |  1996-01-30  |  1KB  |  47 lines

  1. with SMALL_SP; use SMALL_SP; -- CS159-10 Fall/1990 - Arthur Vargas Lopes
  2. procedure INSERT is
  3.    ch : character;
  4.    procedure INSERT_SORT is
  5.      B    : STRING(0..26);
  6.      J    : INTEGER;
  7.      TEMP : CHARACTER;
  8.      STOP : BOOLEAN;
  9.     procedure SHOW(X : in INTEGER) is
  10.     begin
  11.         CURSORAT(4,X+14); PUT("^");
  12.         CURSORAT(3,X+14); PUT(b(x));
  13.         CURSORAT(4,X+14); PUT(" ");
  14.     end SHOW;
  15.    BEGIN
  16.      B := " ZYXWVUTSRQPONMLKJIHGFEDCBA";
  17.      for k in 1..26 loop
  18.         CURSORAT(3,k+14);
  19.         PUT(B(k));
  20.      end loop;
  21.      for I in 1..26 loop
  22.        CURSORAT(3,45); PUT("I: "); PUT(I);
  23.        CURSORAT(4,45); PUT("J: "); PUT(J);
  24.        TEMP := B(I); J:= I; STOP := FALSE;
  25.        while (J > 0) and (not STOP) loop
  26.          J := J - 1;
  27.          CURSORAT(4,45); PUT("J: "); PUT(J);
  28.          if (B(J) > TEMP) then
  29.             B(J+1):= B(J);
  30.          else
  31.             B(J+1):= TEMP;
  32.             STOP := TRUE;
  33.          end if;
  34.          SHOW(J+1);
  35.        end loop;
  36.        if (not STOP) then
  37.           B(1):= TEMP;
  38.           SHOW(1);
  39.        end if;
  40.      end loop;
  41.   end INSERT_SORT;
  42. begin
  43.   CURSORAT(3,1); PUT("Insertion:");
  44.   INSERT_SORT;
  45.   CURSORAT(23,1); PUT("Press any key to proceed..."); GET(ch);
  46. end INSERT;
  47.